1. Field of the Invention
The present invention relates to a system control apparatus capable of controlling in parallel a plurality of processing portions each of which has an individual function or soft modules and acting in association as a system. In particular, the present invention relates to a system control apparatus for controlling a laser beam printer (LBP) or a copying machine.
2. Description of the Related Art
In a system such as a copying machine or a laser beam printer arranged such that a plurality of processing portions, each of which has an individual processing function, are included and the plurality of these processing portions needs to be controlled in parallel, each of the control operations for controlling the plurality of processing portions is performed in parallel. Therefore, systems of the type described above suffer from the disadvantage that a deadlock (a state in which the apparatus cannot be operated) occurs due to the time sequential flow between the control operations if the sequential order in which the control operations are performed is incorrect. In order to prevent a deadlock of this type or to scrutinize the specifications of the control program that acts to perform the control operations, the system needs to be controlled on the basis of a prediction of all of the probable operations in this system. Such prediction methods can be classified into the following three types:
(1) an operation prediction on the basis of the specification i.e.; PA1 (2) an operation prediction from the program code; i.e. PA1 (3) an operation prediction using the actual device, i.e. PA1 input means for inputting information about the specifications for the system in a graphic language; PA1 storage means for processing and storing, on the basis of the graphic language input by the input means, a state of control and a control sequence for each of the processing elements forming the system; and PA1 originating means for originating a state diagram about the operation of the system on the basis of the state of control and the control sequence stored in the storage means. PA1 input means for inputting information about the specifications for the system in a graphic language; PA1 storage means for processing and storing, on the basis of the graphic language input by the input means, a state of control and a control sequence for each of the processing elements forming the system; PA1 condition storage means for determining and storing starting conditions and completed conditions for the operation state on the basis of the graphic language; and PA1 control means for controlling each of the processing elements on the basis of each of conditions, the operation state, and sequential order of transition stored in the condition storage means.
a mathematical operation prediction method on the basis of a specification notation employing a Petri net; PA2 sequential static structural tests called "a coverage test"; and PA2 an operation prediction method in which the subject system is operated by using an ICE (In Circuit Emulator) or the like in a state which simulates the actual operation of the device.
However, the above-described conventional scrutinizing methods suffer from the following problems.
(1) The operation prediction on the basis of the specification.
In the notation made on the basis of the Petri net, the state of control of each of the units, the sequential order of the control of the units, and the time restriction between the units are respectively expressed by the same definition factors consisting of a transition and an arrow. Therefore, it is difficult to grasp the sequential order of control which is individual to each of the units in the control subject system, causing a difficulty in intuitively grasping the relationship between the structure of the system and the specifications. Furthermore, by using the above notation method it is difficult to describe the specifications for the system and it is difficult to understand and maintain the described specifications. Such disadvantages limit the wide use of this method to predict the operation of the system.
The usual notation method of the real time system is arranged in such a manner 1) that the state of the control of each of the units and the restriction of the sequential order between the units are shown by describing the individual state transition table for each of the units and 2) that the order of the state of control between the units are individually complemented by timing charts or documents in order to make the units operate in cooperation with each other as a system. Since the conventional system state transition table is manually written, a considerable amount of effort is needed. Furthermore, the transition table of the state of a system is structured in such a manner that the table has a circular form, causing difficulty in understanding the table since the lines expressing the transitions of the states of the system intersect each other. In addition, since the only states to be expressed are those that are probable to be reached, it has been difficult to examine all of the states which can be realized in a complicated system. For example, when a system is designed, the designer studies whether the system can be brought to a dangerous state in order to provide a fail safe operation. However, all of the states of the system cannot be subjected to the above-described type of checking on the basis of the above-described state transition table, and there has not, as yet, been a such method.
(2) The operation prediction from the program.
The conventional coverage test to be subjected to the source code is capable of examining substantially the whole portion of the static structure of a program. However, since this test is not arranged to correspond to the sequential order of all of the probable programs which can be allowed to occur in the system, it cannot predict the operation of the system.
(3) An operation prediction using the actual device
The operation prediction method in which an ICE (In Circuit Emulator) or the like is employed in an actual device is capable of predicting the operations which might be considered to occur in the environment by predicting the environment to which the system is to be subjected. However, it is difficult to predict all of the probable environments to which the system is subjected and to predict all of the operations that will probably be performed in these environments. In general, when a control system of the type described above is designed and changes are to be made, the earlier in the development process in which the changes are made, the lower the cost to modify the program. Such changes are made as a result of predicting the operation of the system. However, the predicting of the operation of the system by means of the ICE or the like is conducted near the final stage in the development of the device. Therefore the costs of developing the device will escalate.